package com.ssy.lingxi.contract.esign.response;

import lombok.Data;

@Data
public class SignFlowDetailResponse {
    /**
     * 发起签署流程的应用Id
     */
    private String appId;
    /**
     * 是否自动归档
     */
    private Boolean autoArchive;
    /**
     * 文件主题
     */
    private String businessScene;
    /**
     * 	流程配置信息
     */
    private ConfigInfoBean configInfo;
    /**
     * 流程Id
     */
    private String flowId;
    /**
     * 流程状态
     * 0-草稿
     * 1-签署中
     * 2-完成
     * 3-撤销
     * 5-过期（签署截至日志到期后触发）
     * 7-拒签
     */
    private Integer flowStatus;
    /**
     * 流程描述, 如果流程已拒签或已撤回, 并且存在拒签或撤回原因, 流程描述显示为原因, 否则默认为流程状态描述
     */
    private String flowDesc;
    /**
     * 流程开始时间
     */
    private Long flowStartTime;
    /**
     * 流程结束时间
     */
    private Long flowEndTime;
    /**
     * 发起人账户id
     */
    private String initiatorAccountId;
    /**
     * 	发起方主体id
     */
    private String initiatorAuthorizedAccountId;
    /**
     * 	签署有效截止日期
     */
    private Long signValidity;
    /**
     * 	文件有效截止日期
     */
    private Long contractValidity;
    /**
     * 文件到期前，提前多少小时提醒续签
     */
    private Integer contractRemind;

    @Data
    public static class ConfigInfoBean {

        /**
         * 签署平台，逗号分割， 1-开放服务h5，
         */
        private String signPlatform;
        /**
         * 通知方式，逗号分割，1-短信 2-邮件 3-支付宝 4-钉钉
         */
        private String noticeType;
        /**
         * 通知开发者地址
         */
        private String noticeDeveloperUrl;
        /**
         * 签署完成重定向地址
         */
        private String redirectUrl;
    }
}
